﻿using BCCommon;
using BCDto.WeChatComponent.WeChatMediaRecord;
using BCDto.WeChatComponent.WeChatNewsMaterialArticleRecord;
using System;
using System.Collections.Generic;
using System.Text;

namespace BCService.WeChatComponent.WeChatNewsMaterialArticleRecordService
{
    /// <summary>
    /// 微信图文素材文章记录服务接口
    /// </summary>
    public interface IWeChatNewsMaterialArticleRecordService
    {
        /// <summary>
        /// 微信图文素材文章记录添加（批量）
        /// </summary>
        /// <param name="weChatNewsMaterialArticleRecordRequestDtos">微信图文素材文章</param>
        /// <returns></returns>
        WeChatMediaRecordDto Add(IEnumerable<WeChatNewsMaterialArticleRecordRequestDto> weChatNewsMaterialArticleRecordRequestDtos);
        /// <summary>
        ///  微信图文素材文章记录修改（批量）
        /// </summary>
        /// <param name="mediaId">素材Id</param>
        /// <param name="weChatNewsMaterialArticleRecordPutDtos">修改微信图文素材文章</param>
        /// <returns></returns>
        WeChatMediaRecordDto Update(string mediaId, IEnumerable<WeChatNewsMaterialArticleRecordPutDto> weChatNewsMaterialArticleRecordPutDtos);
        /// <summary>
        /// 获取微信图文素材文章记录列表
        /// </summary>
        /// <param name="mediaId">图文素材Id</param>
        /// <returns></returns>
        WeChatMediaRecordDto Get(string mediaId);
        /// <summary>
        /// 获取微信图文素材文章记录列表（带分页）
        /// </summary>
        /// <param name="mediaId">素材Id</param>
        /// <param name="title">文章标题</param>
        /// <param name="start">开始时间</param>
        /// <param name="end">结束时间</param>
        /// <param name="ascending">排序</param>
        /// <param name="pageIndex">当前页码</param>
        /// <param name="pageSize">每页数据条数</param>
        /// <returns></returns>
        PageableList<WeChatMediaRecordDto> Get(string mediaId,string title, DateTime? start, DateTime? end, bool? ascending, int pageIndex = 1, int pageSize = 10);
        /// <summary>
        /// 删除微信图文素材
        /// </summary>
        /// <param name="mediaId">素材Id</param>
        void Delete(string mediaId);
    }
}
